package net.wangy.basiccode1.morenbao;

import org.junit.Test;

/**
 * java.lang.Math 类包含用于执行基本数学运算的方法，如初等指数、对数、平方根和三角函数。类似这样的工具
 * 类，其所有方法均为静态方法，并且不会创建对象，调用起来非常简单。
 */
public class UseMath {
    public static void main(String[] args) {
        //public static double abs(double a) ：返回 double 值的绝对值。
        int i = Math.abs(-5);
        System.out.println(i);
        double a = Math.abs(-5.5);
        System.out.println(a);
        System.out.println("------------------------------------");

        //public static double ceil(double a) ：返回大于等于参数的最小的整数。
        //即为向上取整
        double ceil = Math.ceil(5.5);
        double ceil1 = Math.ceil(-5.5);
        System.out.println(ceil);
        System.out.println(ceil1);
        System.out.println("------------------------------------");

        //public static double ceil(double a) ：返回大于等于参数的最小的整数。
        //即向下取整
        double floor = Math.floor(5.5);
        double floor1 = Math.floor(-5.5);
        System.out.println(floor);
        System.out.println(floor1);
        System.out.println("------------------------------------");

        //public static long round(double a) ：返回最接近参数的 long。(相当于四舍五入方法)
        long round = Math.round(5.5);
        long round1 = Math.round(5.4);
        System.out.println(round);
        System.out.println(round1);
        System.out.println("------------------------------------");
    }

    //使用 Math 相关的API，计算在 -10.8 到 5.9 之间，绝对值大于 6 或者小于 2.1 的整数有多少个？
    @Test
    public void mathTest(){

        int count=0;

        for (double i =Math.ceil(-10.8) ; i <5.9 ; i++) {
            if(Math.abs(i)>6||Math.abs(i)<2.1)
            {
                count++;
            }
        }
        System.out.println(count);
    }
}
